package com.gpframework.module.module.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gpframework.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * @ClassName GpDeliveryNoteVo
 * @Author gpframework
 * @Date 2023-12-11
 * @Version 1.0.0
 * @Description 到货单Vo对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GpDeliveryNoteVo {
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("${column.columnComment}")
    private Long id;

    /** 品牌id */
    @ApiModelProperty("品牌id")
    private String brandId;

    /** 品牌名称 */
    @ApiModelProperty("品牌名称")
    private String brandName;

    /** 缺货报库存申请表id */
    @ApiModelProperty("缺货报库存申请表id")
    private Long productionApplicationId;

    /** 做货明细表id */
    @ApiModelProperty("做货明细表id")
    private Long productionDetailsId;

    /** 生产排单表id */
    @ApiModelProperty("生产排单表id")
    private Long productionSchedulingId;

    /** 订单号 */
    @Excel(name = "订单号", sort = 10)
    @ApiModelProperty("订单号")
    private String sn;

    /** 染厂id */
    @ApiModelProperty("染厂id")
    private Long dyeingFactoryId;

    /** 染厂名称 */
    @Excel(name = "染厂名称", sort = 70)
    @ApiModelProperty("染厂名称")
    private String dyeingFactoryName;

    /** 发货日期 */
    @Excel(name = "发货日期", width = 30, dateFormat = "yyyy-MM-dd", sort = 20)
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("发货日期")
    private Date sendOutGoodsTime;

    /** 胚布基础表id */
    @ApiModelProperty("胚布基础表id")
    private Long supplierGreyClothId;

    /** 供应商名称 */
    @Excel(name = "供应商名称", sort = 40)
    @ApiModelProperty("供应商名称")
    private String supplierName;

    /** 产品基础表id */
    @ApiModelProperty("产品基础表id")
    private Long produceProductId;

    /** 产品名 */
    @Excel(name = "品名", sort = 80)
    @ApiModelProperty("产品名")
    private String productName;

    /** 颜色 */
    @Excel(name = "颜色", sort = 90)
    @ApiModelProperty("颜色")
    private String colour;

    /** 数量（条数） */
    @Excel(name = "条数", sort = 100)
    @ApiModelProperty("数量（条数）")
    private Integer quantity;

    /** 物流基础表id */
    @ApiModelProperty("物流基础表id")
    private Long logisticsId;

    /** 物流 */
    @Excel(name = "物流", sort = 30)
    @ApiModelProperty("物流")
    private String logistics;

    /** 批号 */
    @Excel(name = "批号", sort = 50)
    @ApiModelProperty("批号")
    private String batchNo;

    /** 缸号 */
    @Excel(name = "缸号", sort = 60)
    @ApiModelProperty("缸号")
    private String dyeVatNo;

    /** 规格 */
    @Excel(name = "规格", sort = 110)
    @ApiModelProperty("规格")
    private Integer specifications;

    /** 出厂规格 */
    @Excel(name = "出厂规格", sort = 120)
    @ApiModelProperty("出厂规格")
    private Integer exFactorySpecifications;

    /** 总码数 */
    @Excel(name = "总码数", sort = 130)
    @ApiModelProperty("总码数")
    private Integer totalQuantity;

    /** 大小条合计（码） */
    @Excel(name = "大小条合计", sort = 140)
    @ApiModelProperty("大小条合计（码）")
    private Integer sizeBar;

    /** 大小条1（码） */
    @Excel(name = "大小条1", sort = 141)
    @ApiModelProperty("大小条1（码）")
    private String sizeBarOne;
    /** 大小条2（码） */
    @Excel(name = "大小条2", sort = 142)
    @ApiModelProperty("大小条2（码）")
    private Integer sizeBarTwo;
    /** 大小条3（码） */
    @Excel(name = "大小条3", sort = 143)
    @ApiModelProperty("大小条3（码）")
    private Integer sizeBarThree;

    /** 包数 */
    @Excel(name = "包数", sort = 150)
    @ApiModelProperty("包数")
    private Integer packageQuantity;

    /** 总包数 */
    @Excel(name = "总包数", sort = 160)
    @ApiModelProperty("总包数")
    private Integer totalPackageQuantity;

    /** 实际到货条数 */
    @Excel(name = "实际到货条数", sort = 170)
    @ApiModelProperty("实际到货条数")
    private Integer actualArrivalQuantity;

    /** 是否来料： 0否 1是 */
    @Excel(name = "是否来料", dictType = "enable_flag", sort = 190)
    @ApiModelProperty("是否来料： 0否 1是")
    private String incomingFlag;

    /** 是否跟踪： 0否 1是 */
    @Excel(name = "是否跟踪", dictType = "enable_flag", sort = 200)
    @ApiModelProperty("是否跟踪： 0否 1是")
    private String trackFlag;

    /** 跟单人id */
    @ApiModelProperty("跟单人id")
    private Long followUpId;

    /** 跟单人名称 */
    @Excel(name = "跟单人", sort = 210)
    @ApiModelProperty("跟单人名称")
    private String followUpName;

    /** 跟单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("跟单时间")
    private Date followUpTime;

    /** 收货人id */
    @ApiModelProperty("收货人id")
    private Long receiveId;

    /** 收货人名称 */
    @Excel(name = "收货人", sort = 220)
    @ApiModelProperty("收货人名称")
    private String receiveName;

    /** 收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("收货时间")
    private Date receiveTime;

    /** 排序 */
    @ApiModelProperty("排序")
    private Integer sort;

    /** 备注 */
    @Excel(name = "备注", sort = 180)
    @ApiModelProperty("备注")
    private String remarks;

    /** 创建者 */
    @ApiModelProperty("创建者")
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /** 更新者 */
    @ApiModelProperty("更新者")
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Date updateTime;

    /** 操作人名称 */
    private String operatorName;
    /** 操作人编号 */
    private String operatorNum;
    /**审批人名称 */
    private String examinName;

    /** 列表是否修改字段（前端使用） */
    private Boolean clickEdit = false;

    /**染厂胚布品名 */
    @ApiModelProperty("染厂胚布品名")
    private String dyeingGreyClothName;



}
